<?php

namespace app\common\library;

/**
 * 工具类
 */
class Utils
{

    /**
     * 验证手机号码格式是否正确
     * 
     * @param int $phone 手机号码
     * @return bool
     */
    public static function checkPhoneFormat($phone)
    {
        if (empty($phone)) {
            return false;
        }

        $rule = '/^1[23456789]\d{9}$/';
        if (preg_match($rule, $phone)) {
            return true;
        }

        return false;
    }

    /**
     * 验证身份证号码格式是否正确
     * 
     * @param string $number 身份证号码
     * @return bool
     */
    public static function checkIdentityCardNumberFormat($number)
    {
        if (empty($number)) {
            return false;
        }

        $rule = '/^[1-9]\d{5}(19|20)\d{2}[01]\d[0123]\d\d{3}[xX\d]$/';
        // 4 41581 19 97 0 5 08 433 9
        // 112345199705084339
        // 第一位:1到9
        // 第二位到第六位:数字
        // 第七位到第八位:19或20
        // 第九位到第十位:数字
        // 第十一位:0或1
        // 第十二位:数字
        // 第十三位:0或1或2或3
        // 第十四位到第十七位:数字
        // 第十四位到第十七位:数字或x或X

        if (preg_match($rule, $number)) {
            return true;
        }

        return false;
    }

    /**
     * 校验日期格式是否正确
     * @param string $date  日期字符串
     * @return bool  true 是日期格式     false 不是日期格式
     */
    public static function checkDate($date)
    {
        //匹配日期格式
        if (preg_match("/^([0-9]{4})-([0-9]{2})-([0-9]{2})$/", $date, $parts)) {
            //检测是否为日期,checkdate为月日年
            if (checkdate($parts[2], $parts[3], $parts[1])) {
                return true;
            } else {
                return false;
            }
        } else
            return false;
    }
}
